iT邦幫忙

2022 iThome 鐵人賽

DAY 23
0

UVA10209

點我進UVA10209

題意

求三部分的面積(點點、斜線、方格)

解題

先把圖上的區塊設好未知數,再透過三元聯立方程式解出來

C++ acos()用法及代碼示例:https://vimsky.com/zh-tw/examples/usage/acos-function-in-c-stl.html
參考連結:https://www.programminghunter.com/article/30051214252/

#include<bits/stdc++.h>
using namespace std;
const double PI=acos( -1.0 );//返回弧度數(-1.0)的反餘弦值

int main(){
double a;
while(cin>>a){
       double z=2*a*a*(1-PI/4)-a*a*(1-PI/3+sqrt(3)/4);//sqrt計算平方根
         double y=a*a*(1-PI/4)-2*z;
         double x=a*a-4*y-4*z;
        printf( "%.3f %.3f %.3f\n", x, 4.0 * y, 4.0 * z );
}
return 0;
}

UVA11608

點我進UVA11608

題意

給一年中每個月所出的題目數量及每個月所需要的題目數量,判斷是否有足夠的題目來辦比賽。
第一行表示年初已有的題目數量
第二行表示一到十二月每個月所出的題目數量
第三行表示一到十二月每個月所需要的題目數量

#include <iostream>
#include <string>
using namespace std;
 
int main(){
    int ca,t=1;
    while(1){
     cin>>ca;
     if(ca == -1) break; //-1結束 
     int mon[13],mon1[13];
     mon[12]=0;mon1[12]=0;
     for(int i=0;i<12;i++){
      cin>>mon[i];
  }
  
  for(int i=0;i<12;i++){
      cin>>mon1[i];
  }
  
  cout<<"Case "<<t<<":"<<endl;
  t++;

  if(ca - mon1[0] >= 0){ //對比年初與這個月要用的題目 
   mon[0]=mon[0]+(ca - mon1[0]);
   cout<<"No problem! :D"<<endl;
  }
  
  else{
   cout<<"No problem. :("<<endl;
  }

  for(int i=0;i<11;i++){ //題目在 X 月出的,該題目必須在 X+1 月或其後的月份才能使用。
  
   if(mon[i]-mon1[i+1]>=0){
    mon[i+1]=mon[i+1]+mon[i]-mon1[i+1];
       cout<<"No problem! :D"<<endl;
   }
   else{
       cout<<"No problem. :("<<endl;
   }
  }
 }
}

上一篇
[Day 22] UVA10101 &UVA10424
下一篇
[Day 24] UVA10162
系列文
30天從0開始的NCPC之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言